#ifndef __CORE_SEMAPHORE_H__
#define __CORE_SEMAPHORE_H__

#include <chrono>
#include <thread>
#include <condition_variable>
#include <mutex>

class CoreSemaphore
{
private:
	std::mutex mymutex;
	std::condition_variable condition;
	int waitcount;
	int wakeupcount;
public:
	CoreSemaphore();
	~CoreSemaphore();

	void wait();
	void wakeup();
};
#endif;
